Currently, transaction services are commonly tracked by surfing to the service provider's web site and polling the status information or using other non-real-time alternatives. Solutions based on alert mechanism (such as the Microsoft alert protocol) are also emerging. This type of proprietary alert technique/protocol is limited in that tracked transactions are only shown within systems under a common host. Limitations occur when the desired objective is transaction tracking across disparate client messaging systems. For example, Microsoft has an alert service that provides transaction tracking services via alerts sent to Microsoft messenger subscribers, however, the Microsoft alert system and associated protocols are designed to only work with Microsoft messengers.
Recently, the Session Initiation Protocol or SIP (which is a simple signaling/application layer open protocol) has been developed for creating, modifying, and terminating sessions with one or more clients within a data network telephony for facilitating media-independent signaling. With SIP, end systems and proxy servers can provide services such as personal mobility/location-independent addressing, call forwarding, terminal-type selection, call transfer, and conference calling, via the SIP protocol for providing such service over the Internet or other IP networks. The following documents are incorporated herein by reference: Rosenberg, J., etc., SIP: Session Initiation Protocol, RFC 3261; Rosenberg, J. “A Watcher Information Event Template-Package for SIP”, draft-ietf-simple-winfo-package-05.txt. Internet Draft, January 2003, Work in progress; Rosenberg, J., “An XML Based Format for Watcher Information”, draft-ietf-impp-cpim-pidf-05.txt. Internet Draft, January 2003, Work in Progress; Roach, A., “SIP-Specific Event Notification”, RFC 3265, Internet Engineering Task Force, June 2002; and Kiss, K. et al., “Requirements for Filtering of Watcher Information”, draft-kiss-simple-winfo-filter-reqs-00.txt. Internet Draft, February 2003, Work in progress.
“Presence” refers to, for example, the availability, proximity, activity level or operating state of a user on a network. The ability for users to monitor each other's presence is a feature offered in connection with many applications. For example, instant messaging applications such as MSN or Yahoo have an “available buddy” feature, in which a user of a respective application can determine whether select users (also within the respective application) are available for engaging in communication. The data retrieved and returned to a user is known as “presence information,” and is generally maintained by a presence server in the data network, often a dedicated server.
Referring now to FIG. 1 there is shown a conventional presence architecture in which a presence server 12 provided in a data network provides to the user of a first communication device 13 information indicative of the presence state of a second communication device 11. Typically, the presence server 12 supports network telephony protocols such as the session initiation protocol (SIP). Users can register their communication devices with the presence server 12 in order to have their presence maintained and to allow various programs on the network to facilitate network telephony services. The first device user 13 wishing to detect the presence of the second device user 11 (also known as a presence user agent (PUA) or presentity) does so by “subscribing” 14 with the presence server 12, such as via a SIP SUBSCRIBE message. The presence server 12 intermediates between the first device user 13 (also known as the watcher or subscriber), and the second device user 11 to facilitate the communication of the second device user's presence information to the first device user. More specifically, the presence server 12 updates the presence information to the watcher 13 in an appropriate NOTIFY message every time there is a change in the state of the presence information
This real-time approach can significantly enhance communication and task completion over the network. For example, a very mobile user may only be on the network at certain times throughout the day, and may be accessing the network from varying locations. By subscribing as a watcher of this mobile user, it becomes possible for another user to detect the presence of the mobile user during the times at which the mobile user's device is actually connected to the network. So, when the mobile user is present, the watcher can correspond instantly with the mobile user, for example via a chat session or videoconferencing call, as opposed to resorting to a non-real-time communication such as e-mail messaging. Hence, presence is proving to be an important factor for facilitating communication between users.
The work being done in the Internet Engineering Task Force or IETF on open presence systems generally address only the basic frameworks of a presence service. Existing practice is deficient of systems and techniques important to extending presence to meeting other needs, such as transaction tracking and interoperability for transaction tracking service across multiple devices and/or client systems.